1. Field of the Invention
This invention relates to computer systems and, more particularly, to management of input/output operations in storage environments employing asymmetric distributed block virtualization techniques.
2. Description of the Related Art
Many business organizations and governmental entities rely upon applications that access large amounts of data, often exceeding a terabyte or more of data, for mission-critical applications. Often such data is stored on many different storage devices, which may be centrally located or distributed throughout an enterprise. Such storage devices may be heterogeneous in nature, including many different types of devices from many different manufacturers.
Configuring individual applications that consume data, or application server systems that host such applications, to recognize and directly interact with each different storage device that may possibly be encountered in a heterogeneous storage environment would be increasingly difficult as the environment scaled in size and complexity. Therefore, in some storage environments, specialized storage management software and hardware may be used to provide a more uniform storage model to storage consumers. Such software and hardware may also be configured to add storage features not present in individual storage devices to the storage model. For example, features to increase fault tolerance, such as data mirroring, snapshot/fixed image creation, or data parity, as well as features to increase data access performance, such as disk striping, may be implemented in the storage model via hardware or software.
However, not all data consumers may require or benefit from the same types of features that might be presented by the storage model. Likewise, not all data consumers may require the same kind of access to the same data. For example, an on line transaction processing application may require fast update and read capabilities to a set of data, while a background analysis or data mining application may require only read access to the same set of data. Further, some types of applications may require a high degree of data reliability but are not particularly performance sensitive, while the reverse may be true of other applications. Requiring that all data consumers be provided the same storage functionality (such as mirroring, striping, snapshots, etc.) and/or that data be available in a uniform manner to each consumer in a complex storage environment may potentially result in suboptimal use of resources.